package day13.pack1;

import java.util.*;

/*
功能需求：
    MyList对象，可以存放N个数据。 不限制数据类型，不限制数据数量。

 */
public class MyList  {

    private int initSize = 10;
    private int index = 0; // 数据存储的位置
    private final int expansionFactor = 2; // 每次扩容2倍
    public MyList() {
        data = new Object[initSize];
    }
    private Object[] data;
    public void add(Object obj) {
        if(index == data.length) {
            expandCapacity();
        }
        data[index++] = obj;
    }



    private void expandCapacity() {
        data = Arrays.copyOf(data, data.length * expansionFactor);
    }

    public Object get(int i) {
        if(i < 0 || i > index - 1) throw new ArrayIndexOutOfBoundsException();
        return data[i];
    }

    public int size() {
        return index;
    }
}
